Transaction Tap Data Content
Element tag inside the transactionData element is mandatory in cases when transaction was initiated by the card.
Value should be in the BER-TLV format and encoded in the BASE64 format (not URL safe). Value should contain the following tags (order of the tags is not important):
DFFF8401- Encryption algorithm specification. Required tag, should have length 1 and can contain one of the following binary values:- 00h - transaction data is not encrypted (allowed only on DEV & TEST environments).
- 01h - transaction data is encrypted using 128-bit AES/CBC/PKCS5 encryption algorithm and the TTK key specified in
the tag
DFFF8402. - 02h - transaction data is encrypted using 128-bit AES/CBC/PKCS5 encryption algorithm and the transaction-specific
key, derived from the TTK key specified in the tag
DFF8402. Key derivation value is specified in the tagDFFF8403. - 03h - transaction data is encrypted using DUKPT+3DES/CBC/NoPadding encryption algorithm and the KSN value
specified in the tag
DFFF8404. - 04h - transaction data is encrypted using DUKPT+AES/CBC/NoPadding encryption algorithm and the KSN value specified
in the tag
DFFF8404
DFFF8402- TTK key ID. Required only when tagDFFF8401value is 01h or 02h. Should contain TTK key ID encoded as BCD number.DFFF8403- Derivation value used for deriving transaction-specific key. Required only when tagDFFF8401value is 02h. Should have length 4 and value contains 32-bit timestamp encoded as binary 4-byte unsigned int in network byte order (big-endian).DFFF8404- KSN value. Required only when tagDFFF8401value is 03h or 04h. Used in case of DUKPT encryption algorithms.DFFF8405- Encrypted card transaction data. Required only if tagDFFF8401value is not 00h. Length is dynamic and value is encrypted using the encryption algorithm specified in the tagDFFF8401. Encrypted data should contain at least some of the following TLVs:57, 5A, 5F24.FFFF8406- Unencrypted card transaction data. Required only if tagDFFF8405is missing.
Combined data from DFFF8405 and FFFF8406 should contain all TLVs as required by the corresponding card scheme (see Card Transaction Data).
Tag FFFF8406 may contain the tags 57, 5A, 5F24 only if DFFF8401 is set to 00h. Otherwise, those tags will be ignored and the values will be taken from DFFF8405 instead. If the same tag is present in both DFFF8405 and FFFF8406 then only the value from DFFF8405 will be used.s
Card Transaction Data
transactionData.tag can contain different tags based on the connected acquirer.
Following table describes the differences between acquirers.
M - Mandatory, O - Optional, C - Conditional (implementation needs to be coordinated with Sfey)
| Tag | Data Element | TPS | NETS | Swedbank | Bankart |
|---|---|---|---|---|---|
| 4F | Application Identifier (AID) | O | - | - | - |
| 50 | Application Label | O | - | - | - |
| 57 | Track 2 Equivalent Data | M | - | - | - |
| 5A | Application Primary Account Number (PAN) | M | - | - | - |
| 82 | Application Interchange Profile | M | M | M | M |
| 84 | Dedicated File (DF) Name | M | M | M | M |
| 95 | Terminal Verification Results | M | M | M | M |
| 9A | Transaction Date | M | M | M | M |
| 9B | Transaction status information | O | - | - | - |
| 9C | Transaction Type | M | M | M | M |
| 5F24 | Application Expiration Date | O | - | - | - |
| 5F28 | Issuer Country Code | O | - | - | - |
| 5F34 | PAN Sequence Number | M | M | M | M |
| 5F2A | Transaction Currency Code | M | M | M | M |
| 9F02 | Authorized Amount (Numeric) | M | M | M | M |
| 9F03 | Amount Other (Numeric) | M | M | M | M |
| 9F06 | Application Identifier (AID) - Terminal | O | - | - | - |
| 9F09 | Terminal Application Version | C | O | M | M |
| 9F10 | Issuer Application Data | M | M | M | M |
| 9F19 | Token Requestor ID | O | - | - | - |
| 9F1A | Terminal Country Code | M | M | M | M |
| 9F1D | Terminal Risk Management Data | O | - | - | - |
| 9F1E | Terminal / IFD Serial Number | C | O | M | M |
| 9F21 | Transaction Time | M | - | - | - |
| 9F24 | PAR | O | - | - | - |
| 9F26 | Application Cryptogram | M | M | M | M |
| 9F27 | Cryptogram Information Data | M | M | M | M |
| 9F33 | Terminal Capabilities | O | M | M | M |
| 9F34 | Cardholder Verification Method (CVM) Result | M | M | M | M |
| 9F35 | Terminal Type | C | O | M | M |
| 9F36 | Application Transaction Counter (ATC) | M | M | M | M |
| 9F37 | Unpredictable Number | M | M | M | M |
| 9F41 | Terminal Transaction Counter | O | - | - | - |
| 9F46 | ICC Public Key Certificate | O | - | - | - |
| 9F4E | Merchant Name and Location | O | - | - | - |
| 9F53 | Transaction Category Code | O | O | - | - |
| 9F5A | Application Program Identifier (AID) | O | - | - | - |
| 9F5B | Issuer Script Results | O | - | - | - |
| 9F66 | Terminal Transaction Qualifiers (TTQ) | O | - | - | - |
| 9F6C | Card Transaction Qualifiers (CTQ) | O | - | - | - |
| 9F6E | Form Factor Indicator | C | - | M | M |
| DF17 | Terminal capabilities | O | - | M | M |
| DFFFDF21 | ODA Result | O | - | - | - |
Transaction Data from Ridango contactless readers DV15S and DV18L
Ridnago contactless readers DV15S and DV18L send fully encrypted tap data. Device API is able to receive this tap data if it is encoded into the tag element inside the transactionData element as follows.
Value should be in the BER-TLV format and encoded in the BASE64 format (not URL safe). Value should contain the following tags (order of the tags is not important):
DFFF8401- Encryption algorithm specification. Should have length 1 and can contain the following binary value:- 01h - transaction data is encrypted using 128-bit AES/CBC/PKCS5 encryption algorithm and the TTK key specified in
the tag
DFFF8402.
- 01h - transaction data is encrypted using 128-bit AES/CBC/PKCS5 encryption algorithm and the TTK key specified in
the tag
DFFF8402- TTK key ID. Should contain TTK serial number from the Ridango contqactless reader EMV Authorization Request message, encoded as BCD number.DFFF8405- Encrypted card transaction data. Length should correspond to the binadry data length and value shoud be the encrypted payload received from the Ridango contactless reader EMV Authorization Request or Transaction Cryptogram message (sent vi Ridango contactless reader CAN protocol FILE_DOWNLOAD command with file id 0x80).